home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / mosaic / mosaic.h < prev    next >
C/C++ Source or Header  |  1995-05-03  |  2KB  |  71 lines

  1. /*
  2.  * mosaic.h
  3.  * kirk johnson
  4.  * october 1990
  5.  */
  6.  
  7. #ifndef _MOSAIC_H_
  8. #define _MOSAIC_H_
  9.  
  10. #include <stdio.h>
  11.  
  12. /* #define DEBUG */
  13.  
  14. #define AppName   "xtile"
  15.  
  16. #define BoardSize (24)        /* width, in tiles */
  17. #define NPieces   (81)        /* # pieces per game */
  18.  
  19. #define NTiles (BoardSize*BoardSize)
  20.  
  21. #define MaxUnameLen  (8)    /* eight chars per uname, max */
  22. #define MaxScoreLen  (5)    /* five chars per score, max */
  23. #define NHighScores  (10)    /* # of high scores kept */
  24. #define NHelpLines   (10)    /* # of lines in help window */
  25.  
  26. #define MaxPossibleScore  "34992"
  27.  
  28.  
  29. typedef unsigned short Word;
  30.  
  31. typedef struct
  32. {
  33.   char uname[MaxUnameLen+1];    /* username */
  34.   int  score;            /* score */
  35. } NameAndScore;
  36.  
  37. extern void InitGame();
  38. extern void QuitGame();
  39. extern int  DropPiece();
  40. extern void UpdateAndScore();
  41. extern void PossiblyMerge();
  42. extern void AutoPlay();
  43. extern void ReadHighScores();
  44. extern void WriteHighScores();
  45. extern void ReadHighScores();
  46. extern void CheckHighScore();
  47.  
  48. extern void InitDisplay();
  49. extern void MainLoop();
  50. extern void drawBoard();
  51. extern void drawHelp();
  52. extern void drawTile();
  53. extern void drawController();
  54. extern void drawNext();
  55. extern void drawTitle();
  56. extern void drawScore();
  57. extern void drawHighScores();
  58. extern void drawAll();
  59.  
  60. extern Word tile[NTiles];    /* the board */
  61. extern Word piece[NPieces];    /* the "deck" of pieces */
  62. extern Word nextpiece;        /* index into the deck */
  63.  
  64. extern Word tscore[3];        /* total score */
  65. extern Word pscore[3];        /* last piece score */
  66. extern Word remain[3];        /* tiles remaining */
  67.  
  68. extern NameAndScore highscore[NHighScores];
  69.  
  70. #endif /* _MOSAIC_H_ */
  71.